An install program is a software program that assists a user with the installation of an application program on a computer such that the application program works correctly with the computer's environment including the operating system. An installation builder is a software program that assists a programmer in the generation of install programs. There are many commercially available installation builders, including InstallAnywhere™ sold by Zero G Software, Inc. and InstallShield Multiplatform™ sold by InstallShield Software Corporation. InstallAnywhere™ is a trademark of Zero G Software, Inc. and InstallShield Multiplatform™ is a trademark of InstallShield Software Corporation.
A typical install program leads the user through the steps of installing an application by presenting the user with a series of screens or panels. These panels may include an initial welcome panel incorporating a marketing splash screen and showing the name and version of the application to be installed, a panel for selecting the components to be installed, a panel describing the installation requirements of the selected components, a panel for selecting the directory where the selected components are to be installed, a panel displaying the license for the application, etc. As the user proceeds through the panels, interactive actions and rules (i.e., checks) operate behind the scenes to manage the flow of the installation process and to implement various installation operations.
Actions are essentially executable procedures performed by the install program. Generally, each action is controlled by a rule or check, which determines whether the action is executed or not. An action may be as simple as installing files or as sophisticated as executing custom code during the installation process. Example actions include creating a directory, moving a file, requesting a password, etc.
Rules or checks are logical evaluators (i.e., return True or False when evaluated) used with actions and panels. The rules are attached to actions and panels and are executed to manage the flow of the install program. For example, a rule may be executed to determine whether a directory exists prior to allowing an action to install files in the directory.
In general, an installation builder allows a programmer to create an install program using a series of menus and tabs. Typically, the programmer clicks on the individual tabs or menus and answers the questions presented. The programmer does not see the impact of answering these questions on the resulting install program until the install program is generated and executed.
The process to create an install program concentrates on the individual elements of the install program, e.g. panels, actions, and rules. For example, a programmer can manipulate the look and feel of a panel through a series of menus and tabs or provide a parameter to a create file action. The programmer is unable to manipulate and view how these individual elements would interact in the resulting install program prior to building (i.e., compiling or interpreting) the install program.
In general, installation builders are designed to generate install programs that install an application or group of applications on a single computer. Creating more complex install programs, such as for enterprise applications that execute on multiple servers, can provide challenges not encountered for single computers.